package com.sky.demo.utils;

import android.app.Application;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.SharedPreferences;

/**
 * @ClassName: IntroductoryActivity
 * @Description: TODO Activity的支持类接口，主要定义了Activity中常用的功能
 * @author LiBin
 * @date 2015年3月26日 下午4:01:00
 */
public interface BaseInterface {

    /**
     * 获取Application对象
     *
     * @return
     */
    Application getApplication();

    /**
     * 开启服务
     */
    void startService();

    /**
     * 停止服务
     */
    void stopService();

    /**
     * 判断是否有网络连接，若没有，则弹出网络设置对话框，返回false
     *
     * @return
     */
    boolean validateInternet();

    /**
     * 判断是否有网络连接,没有返回false
     */
    boolean hasInternetConnected();

    /**
     * 退出应用
     */
    void isExit();

    /**
     * 判断GPS是否已经开启.
     *
     * @return
     */
    boolean hasLocationGPS();

    /**
     * 判断基站是否已经开启.
     */
    boolean hasLocationNetWork();

    /**
     * 检查内存卡.
     */
    void checkMemoryCard();

    /**
     * 获取进度条.
     *
     * @return
     */
    ProgressDialog getProgressDialog();

    /**
     * 返回当前Activity上下文.
     */
    Context getContext();

    /**
     * 用户是否在线（当前网络是否重连成功）
     */
    boolean getUserOnlineState();

    /**
     * 设置用户在线状态 true 在线 false 不在线
     *
     * @param isOnline
     */
    void setUserOnlineState(boolean isOnline);

    /**
     * 发出Notification的method.
     *
     * @param iconId       图标
     * @param contentTitle 标题
     * @param contentText  内容
     * @param activity
     */
    void PushNotification(int iconId, String contentTitle,
                          String contentText, Class<?> activity, String from);

}
